package com.sugar.queryinfo.module.business.dal.dataobject.dataquery;

import com.sugar.queryinfo.framework.mybatis.core.type.LongListTypeHandler;
import com.sugar.queryinfo.framework.mybatis.core.type.StringListTypeHandler;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.sugar.queryinfo.framework.mybatis.core.dataobject.BaseDO;

/**
 * 数据查询 DO
 *
 * @author Ysugar
 */
@TableName(value = "business_data_query", autoResultMap = true)
@KeySequence("business_data_query_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DataQueryDO extends BaseDO {

    /**
     * ID
     */
    @TableId
    private Long id;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 部门ID
     */
    private Long deptId;
    /**
     * 校验方式（0.关闭校验 1. 二要素校验 2. 三要素校验）
     */
    private Integer validMethod;
    /**
     * 查询姓名
     */
    private String queryName;
    /**
     * 查询证件号
     */
    private String queryIdCard;
    /**
     * 查询手机号
     */
    private String queryMobile;
    /**
     * 查询类型（多个）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> queryType;
    /**
     * 查询时间
     */
    private LocalDateTime queryTime;
    /**
     * 验证结果（0未校验 1校验一致 2校验不一致）
     */
    private Integer vaildResult;
    /**
     * 生日
     */
    private String validBirthday;
    /**
     * 地址
     */
    private String validAddress;
    /**
     * 城市类型（一-五线城市）
     */
    private String validAddressType;
    /**
     * 星座
     */
    private String validConstellation;
    /**
     * 性别
     */
    private String validGender;
    /**
     * 年龄
     */
    private String validAge;
    /**
     * 风险类型（1安全客户；2撸子；3疑似撸）
     */
    private Integer riskType;
    /**
     * 风险记录（当客户撸子/疑似撸的时候，记录真假财务里的ID）
     */
    @TableField(typeHandler = LongListTypeHandler.class)
    private List<Long> riskTypeFinanceIds;
    /**
     * 是否是智能审核（0否 1是）
     */
    private Boolean isAudit;
    /**
     * 智能审核-内容
     */
    private String autidContent;
    /**
     * 智能审核-是否加入黑名单（0否 1是）
     */
    private Boolean auditIsBlacklist;
    /**
     * 授权书地址
     */
    private String sqUrl;

}
